package thread_01;

class MyThread extends Thread{
//    重写run方法：描述线程具体要做什么
    @Override
    public void run(){
        while(true){
            System.out.println("hello thread");
//            让线程主动进入“阻塞状态”，主动放弃去CPU上执行
//                           休眠时间：毫秒
//            降低CPU消耗的资源
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }

    }
}
public class Demo01 {
    public static void main(String[] args) {
//        Thread来自标准库
//        Thread t = new Thread();
//        创建实例
        Thread t = new MyThread();
//        启动线程
        t.start();

//        要是这样调用，就是并行调用，会一直打印hello thread，不打印hello main，因为run里的函数死循环
        t.run();
//        上述代码包含两个线程
//        1.t线程
//        2.main方法所在的线程（主线程）
//        一个进程中至少有两个线程
        while(true){
            System.out.println("hello main");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
    }
}
